{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[](https://mybinder.org/v2/gh/pyinat/pyinaturalist/main?filepath=examples%2FData%2520Visualizations%2520-%2520Matplotlib.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Matplotlib example\n", "Here is an example of making a simple seasonality chart using [matplotlib](https://matplotlib.org/).\n", "\n", "This shows observations counts by month (all years) for monarch butterflies observed in the state of Iowa." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "from pyinaturalist import get_observations" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1451\n" ] } ], "source": [ "# Then, get all observations in that place of a given species\n", "observations = get_observations(\n", " taxon_name='Danaus plexippus',\n", " photos=True,\n", " geo=True,\n", " geoprivacy='open',\n", " place_id=24,\n", " page='all',\n", ")\n", "\n", "print(len(observations['results']))\n", "\n", "# Flatten nested JSON values\n", "df = pd.json_normalize(observations['results'])\n", "\n", "# Convert field to DateTime object, coerce errors to NaT\n", "df['observed_on'] = pd.to_datetime(df['observed_on'], errors='coerce', utc=True)\n", "df['observed_month'] = df['observed_on'].apply(lambda x: x.month)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [ "nbsphinx-thumbnail" ] }, "outputs": [ { "data": { "text/html": [ "
\n" ], "text/plain": [] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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7/iZL9kuWKg/3oyMDP1FCOOoGSEpKSldblP906p1CMabPXu2Hstyyy23mF2KLTU0NMgRR3T9+FNn06plDr6hZiWoz2U1w0x1p44bN87skmzrnHPO0QFCjSPq4HK59OwQ1TXla5bvCnnmmWf0XF71Baf68NTmK+oDQjW1wTjqbE4NeFNdIXfddZc+6/jss8/0BcZSX24qWKgm+YEDLf9PNCCpz4w33nhDzjrrLN0VsmfPHpk+fbpusoexVIhQExcuuugi3ZKsWovU2JYJEyaYXZrlT6LTD2iZV+MLVZfeiSeeqP+uVdfe66+/rsfFqaCh1m1RXX23336774vzWtzdd9/tPf30071HH32094wzztDX09PTzS7LllavXu299NJL9ZSlUaNGeT/77DOzS7KljRs36uljKSkpZpdiWy6XS0/lPeuss7yDBw/2nnvuuXr6o9vtNrs021myZIl+f9VntJoCOWnSJD31Ef2zbds2/Tnx/csDDzzQOeX0pZde8p566qn6M/v666/322cKu5sCAADD2G6MBQAAMA/BAgAAGIZgAQAADEOwAAAAhiFYAAAAwxAsAACAYQgWAADAMAQLAABgGIIFECCCg4NlwIABeqt0O7Dy75Odna1rV0skA+gdggUAR/vrX//qn/0TAIcgWAAO1tzcbHYJAGyGYAH4kdvtlscff1xviT548GD59a9/LZGRkV3uExYWJpdffrn++X//939LQkJC589ycnL0zpwnnHCC3oZa7cy5bt26zp+r+958881y3HHHyamnnir33XeflJeXd/78mmuukUcffVTvfHjSSSfJ2LFj5d5775W77767Sw0tLS3653Pnzu3ccXXq1Kl6l8RjjjlGRo8eLV9//XWXx6g6LrzwQv3za6+9Vncn9FRQUJAcf/zxsmbNGr0L5rHHHit33HGH3t58zpw5cvbZZ+vfWb13Ho+n83FqC+77779f/0w9Rv3uaWlpBz2v2mHz4osv1u/LTTfdJEVFRfrnU6ZM0c+/atUq3fWhLqoLp0NmZqb+XdRzq985PDy8x78T4Fh+2eoMgPb44497R4wY4V23bp03MTFR70R4wgkneCsqKjp3K7z44ou9mzZt8sbFxXlvvfVW79lnn+1tbm7Wj7/lllu8N9xwg/5ZRkaG3nE2JCRE/6yqqsp78skneydPnuxNTk72xsTE6Ptee+21na//29/+1nvcccd5n332We++ffv0Zc2aNd5jjjnGW1tb23k/9bzqNrULqPL666/rHW03bNigX3f27Nl6x8Tg4GD989zcXH396aef1s85f/58vaui+n1UXd1Rz3fUUUfpelXd6ncaPny498Ybb/Tedddd+r1SNakdMhcvXtz5uN///vf6/QoNDfXGxsZ6x44d6z3//PM736+O5x0zZow3MjLSGx0dre9/77336p+r31k9/0033eQtKirSF7XDaVZWlq5d/c7q/VG7Qt5xxx3eH//4x96WlhaD/hoAeyJYAH5SV1env+QWLFjQeZv6AlRB45133ukMFgd+carAob7g1dbTymWXXeadMmXKIZ//tdde01/EB8rLy+uyBbsKFj/72c+63Ed9UZ500kneuXPndt52zz33eO+++2593NTU5D322GO9O3fu7PK4iRMn6vspKsxccsklXX7+3HPP9SpYqPump6d33va3v/1Nv+6BgUcFB3W7kpqaqh8TFhbW+fPy8nL9fi1duvSwzztjxgwdejqocDdu3Lgu9XQEiy+++KLzNhVu1G0qtAE4PLpCAD/JyMjQXQxXX311521HHXWU/PKXv5Tk5OTO26666qrO4xNPPFF3DXT8XHUFvP766/o5XnnlFYmLi+u87969e2Xbtm26ub/jMmrUqM7X7vDzn/+8S10DBw6Uu+66SxYsWKCv19fX666B8ePH6+vp6em6S+KGG27o8tyqm6TjeVV9V155ZZfnPfD36AnV3XDeeed1XlddOaoLRL3WgbeVlpZ2vqaq/cDXHT58eJf361DPe/rpp3c+R3dUl9SBj1N6+ljAqQaaXQCAnnvooYf0uIi1a9fKpk2b9LiHadOmyWOPPSZ1dXV6/MXbb7990OM6vhQVNTbj+1SI+O1vf6u/NDdv3qzHSaixCIp6XkW95hlnnNHlcYMGDTLsd1Mh60BqvMOhblPjPfr7vKq1trePVY9Tevv6gNPQYgH4iTprPvroo/XgzA6qBUMN3rzkkks6b4uIiOgyODE1NVUPPOwwcuRI+fvf/y7Lly+Xf/zjH/L555/r26+44gpJTEzUZ/nnn39+l8uhwsSBfvWrX+nnXbJkiW65uPPOOzu/VFVtKkDk5uYe9LzqMYqqb/fu3V2e88DfwxfUa7a2tsquXbs6b6uoqJCUlJQu72d31P+TAweEAugfggXgJ+rL/ZFHHpFnn31WNmzYIElJSfLwww/rboaJEyd23u9f//qXbN26Vc/wUGssqNkZHessqNkcaoZDVlaWxMTE6K6PjtAxadIkqayslHvuuUeHFdVNoe47YcKEHn1xqtkhn376qW6x6OgGUYYMGSLPPPOMPPXUU3oGhXpe9dofffSRvq6ooKNmY6jfTX2xL1y4UM/I8KULLrhAxo0bp9/DHTt26K6gv/zlL7pVRd3eUyqIqS4lVbeaQaPCHoC+I1gAfvTWW2/Jn/70Jz0NVLUwqPEL6stfTZc88D5PPPGEHgtRXFwsq1ev1mfVigoIKkCoMKG6KtT0zk8++UT/bMSIEbo1RN3nxhtvlMsuu0wHETXd8ogjuv+nrsKECjvqi/nAcSDKa6+9Ji+99JLueul4bdU1oqafKmeddZYsW7ZMVq5cqadlqoDy5ptviq/Nnj1bv0+33nqrHtOhujjUtNfvd3/8EBVM1LiMX/ziF3LyySd3aVEC0HsD1AjOPjwOAADgILRYAAAAwxAsAPhcx2qgh7r4o8sEgP/QFQLA5woKCqSxsfGQP1NrdagLAHsgWAAAAMPQFQIAAAxDsAAAAIYhWAAAAMMQLAAAgGEIFgAAwDAECwAAYBiCBQAAMAzBAgAAiFH+P2tjVH+vwZ8vAAAAAElFTkSuQmCC", "text/plain": [ "\u001b[1m<\u001b[0m\u001b[1;95mFigure\u001b[0m\u001b[39m size 64\u001b[0m\u001b[1;36m0x480\u001b[0m\u001b[39m with \u001b[0m\u001b[1;36m1\u001b[0m\u001b[39m Axes\u001b[0m\u001b[1m>\u001b[0m" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot observation counts by month\n", "df['observed_month'].groupby(df['observed_month']).count().plot(kind='area')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.1" } }, "nbformat": 4, "nbformat_minor": 4 }